package com.cs.beneficios.web.action;
import com.cs.beneficios.business.entity.SubprogramaSedeDAO;
import com.cs.beneficios.common.ConnectionFactory;
import com.cs.paoyer.administration.business.model.UserVO;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionError;
//import org.apache.struts.action.ActionErrors;
import java.io.IOException;
import javax.servlet.ServletException;

public class UpdateBeneficiosSubproAction extends Action 
{
  /**
   * This is the main action called from the Struts framework.
   * @param mapping The ActionMapping used to select this instance.
   * @param form The optional ActionForm bean for this request.
   * @param request The HTTP Request we are processing.
   * @param response The HTTP Response we are processing.
   * @return 
   * @throws java.io.IOException
   * @throws javax.servlet.ServletException
   */
  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
  {
    HttpSession session = request.getSession();
    
    //Proceso para la auditoria
     UserVO user = (UserVO) request.getSession().getAttribute("userInfo");
     String terminalAddress = request.getRemoteAddr();
     String strTerminal = ("WEB="+terminalAddress);
     Calendar c = Calendar.getInstance(); 
     SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");   
    //Fin del proceso
    
    //ConnectionFactory cf = new ConnectionFactory("beneficios","beneficios");
	ConnectionFactory cf = new ConnectionFactory();
    String strCodeSede = request.getParameter("code");
    String strCodeBeneSede = (String)session.getAttribute("CodeBedeSede");
    Object oCantidad = (Object)request.getParameter("cantidad");
    String cantidad;
    if(oCantidad == null)
    {
      cantidad = "";
    }else
    {
      cantidad = (String)oCantidad;
    }
    String desde = request.getParameter("desde");
    String hasta = request.getParameter("hasta");
    try
    {
      SubprogramaSedeDAO objSubsedeDAO = new SubprogramaSedeDAO(cf);
      boolean actualizar = false;
      String parArr[] = {strCodeSede,desde,hasta,cantidad,cantidad,user.getName(),dateFormat.format(c.getTime()),strTerminal};
      actualizar = objSubsedeDAO.actualizarSubproSede(strCodeBeneSede,parArr);
      cf.closeConnection(objSubsedeDAO.getConn());
      if(actualizar)
      {
        request.setAttribute("msga","La modificacion termino satisfactoriamente");
      }else
      {
        request.setAttribute("msga","La modificacion no termino satisfactoriamente");
      }
    }catch(SQLException e)
    {
		System.err.println("/******** TDSUB - cwsub");
		e.printStackTrace();
		System.err.println("TDSUB - cwsub ********/");
    }
    return mapping.findForward("success");
  }
}